package com.ajocer.springbootinit.utils;

import org.apache.commons.lang3.StringUtils;

/**
 * SQL 工具类
 */
public class SqlUtils {

    /**
     * 校验排序字段是否合法（防止 SQL 注入）
     *
     * @param value 查询值
     * @return like查询条件
     */
    public static boolean validSortField(String sortField) {
        if (StringUtils.isBlank(sortField)) {
            return false;
        }
        // 仅允许字母、数字、下划线和点
        return sortField.matches("^[a-zA-Z0-9_\\.]+$");
    }
    
    /**
     * 构建like查询条件
     *
     * @param value 查询值
     * @return like查询条件
     */
    public static String buildLikeCondition(String value) {
        if (StringUtils.isBlank(value)) {
            return null;
        }
        // 转义特殊字符并添加%
        return "%" + value.replaceAll("[%_]", "\\\\$0") + "%";
    }
}
